Peer-to-peer distributed gaming application network

ABSTRACT

This description describes methods and apparatuses of a peer-to-peer distributed gaming application networks. In one embodiment a method includes receiving, from a server, an indication that a plurality of gaming terminals will participate in a shared gaming session, wherein the server is not configured to operate as a gaming terminal, and wherein the server is configured to establish a virtual communication network to enable the plurality of gaming terminals to participate in the shared gaming session. The method also includes serving the shared gaming session to the plurality of gaming terminals and determining an outcome of the shared gaming session, wherein the server is not configured to determine an outcome of the shared gaming session.

RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.10/453,425, filed Jun. 3, 2003, which application is incorporated hereinby reference.

LIMITED COPYRIGHT WAIVER

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all copyright rightswhatsoever. Copyright 2006, WMS Gaming, Inc.

FIELD

Some embodiments relate generally to gaming terminals and, moreparticularly, to a system and method for networking gaming terminals toallow gaming terminals to participate in the same wagering game.

BACKGROUND

Gambling has become an increasingly important and popular form ofentertainment. Particularly important to the gaming industry areelectronic gaming terminals that can provide a wide variety ofentertainment formats to individual players. Electronic gaming terminalsmay, for example, include reel slot machines, video poker machines, andvideo bingo machines. Because such gaming terminals are an importantsource of income for the gaming industry, casinos continually search fornew ways to improve the profitability of their gaming machines byincreasing functional capabilities. This includes improving theirentertainment value by providing more sophisticated games, visual/audiodisplays, and user-friendly interfaces. It also includes better gamingterminal security, player tracking data for customizing marketingstrategies, and more sophisticated financial and accounting reports.

Originally gaming machines were provided as stand alone devices thatoperated independently. Today, most gaming machines are in serialcommunication with at least one computer that provides serial polling ofthe gaming machines in a master-slave communication protocol to obtaingaming terminal data. Typically, each gaming function is performed by aseparate host computer, which operates independently of any other hostcomputers connected to the gaming machines. For example, an accountingcomputer, a player tracking computer, and a progressive game computermay all operate independently to perform a specific function.

Although these gaming terminals are connected to a central hostcomputer, a gaming terminal is unable to share a wagering gameexperience with any other gaming terminal. This precludes any type ofcompetitive or collaborative gaming, and any other type of shared gameinteraction with another player. These serial-based systems have limitedcommunication capabilities. To support these new gaming wagering methodseffectively and adequately, new types of networked systems are needed tosupport competitive and collaborative types of wagering games, allowingplayers to share the same gaming experience.

Some manufacturers have proposed developing a network of gamingterminals controlled by a server to provide gaming applications to eachindividual gaming terminal. In these systems, the distributedapplication server determines the game outcome and delivers the resultsof the game to the gaming terminal. This type of gaming system is termedcentral determination. The gaming terminals simply function aspresentation devices for the distributed application server. Thisconfiguration presents problems on two regulatory fronts.

First, central determination of a game outcome is illegal and notallowed in many jurisdictions. Second, even if the jurisdictions doallow the central determination of game outcomes, such a server wouldhave to be licensed as a gaming device in that jurisdiction. To licensea server requires specialized testing in individual jurisdictions andrepresents another hurdle for gaming manufacturers to overcome.

In addition, using a central server for serving gaming applications hascertain technological problems. First, the communication traffic in sucha centralized system is extremely heavy. All game play information mustbe first communicated to the server and then relayed to those gamingterminals on which a gaming application is being shared. The longcommunication path can create latency problems that prevent the gamefrom playing sufficiently quickly. In addition, timing becomes much morecritical for competitive and collaborative gaming where a player may begiven a limited time to respond to the game action.

An additional problem with centrally served games is that players maywant to play individual games, rather than participating in a sharedgaming experience. A central server could potentially be heavilyburdened supporting many individual gaming terminals. Such a system issusceptible to a single failure with the potential for incapacitatinglarge numbers of gaming terminals on the network.

To overcome these problems, a new gaming terminal network is requiredthat allows players at different terminals to participate in a sharedgaming experience with other players.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of an embodiment of a gaming terminal.

FIG. 2 is a block diagram of the electronic components typically used inthe gaming terminal of FIG. 1.

FIG. 3 is a network diagram, according to example embodiments of theinvention.

FIG. 4 is a block diagram of using a carousel controller to implement avirtual communication network between gaming terminals, according toexample embodiments of the invention.

FIG. 5 is a block diagram of using a virtual communication networkimplemented directly between gaming terminals, according to exampleembodiments of the invention.

FIG. 6 is a software flowchart for establishing and operating a sharedgaming session, according to example embodiments of the invention.

DETAILED DESCRIPTION

The description of the preferred examples is to be construed asexemplary only and does not describe every possible embodiment of theinvention. Many alternative embodiments could be implemented, usingeither current technology or technology developed after the filing dateof this patent, which would still fall within the scope of the claimsdefining some embodiments of the invention.

Some embodiments enable many players to share and participate in thesame game experience from their individual gaming terminals. Playerparticipation may be either passive or active participation. Passiveparticipation may allow a player to wager on another player's outcome.Active participation may include competitive or collaborative gamingthat allows a player to participate in the shared game experience bymaking individual selections and decisions during the game that mayaffect the game outcome.

For example, in a passive game, a player may win a base game and beoffered a bonus game. Such a bonus game may also be offered to playersin a select group, allowing the other players to place side bets on theoutcome of the bonus game. Alternately, in an active participation game,players may compete by making individual selections that may determinethe winner of the bonus game.

To enable this game participation among players, some embodimentsutilize a gaming network having a server linked to a number of gamingterminals. The server in the gaming network establishes a separatevirtual communication network. This virtual communication network isused to establish a distributed gaming session that shares a gamingapplication among a number of participating gaming terminals within thegaming network.

The virtual communication network is a network of gaming terminalsstructured through a peer-to-peer network architecture. In contrast to acentral server, the use of a peer-to-peer architecture allows the gamingterminals themselves to be used as the server of the gaming applicationto other gaming terminals. A distributed application server is stillused, but it is dedicated to providing the shared gaming session'sadministrative functions.

The distributed gaming server has at least two primary functions. Thefirst is to help establish a virtual communication network betweenselected gaming terminals sharing game applications. These communicationchannels are required to ensure all gaming application messages sent arereceived by the appropriate gaming terminals. Once these communicationchannels are established, the gaming application data is transmitteddirectly between selected gaming terminals. The second function of thedistributed gaming server is to administratively control the sharedgaming experience session. The server remains in the background,constantly monitoring the gaming session, and always available to managegaming terminal participation when players enter and leave the sharedgaming application.

Some embodiments facilitate shared, collaborative, and competitivegaming among players. They accomplish this task through theirpeer-to-peer network architecture. Additional aspects of someembodiments of the invention will be apparent to those of ordinary skillin the art in view of the detailed description of various embodimentswhich is provided below.

Some embodiments provide a gaming system and method for allowingmultiple gaming terminals to participate in shared game play occurringat another terminal. The shared game experience may be competitive,collaborative, or shared. Participation in the game may be passive, suchas placing a side bet. Participation may also be active, such as directcompetition with other players, or collaborative team play.

Players may have the option of participating in the shared game play, orplaying the individual games offered at their own gaming terminal. Theplayer-shared games may be in addition to any individual game a playermay be playing or instead of the individual game. Individual games maybecome shared games as desired by the player. Further, individual gamesmay be associated with the shared game such that the outcome in theindividual game affects the outcome in the shared game. The distributionof shared games from a gaming terminal to other gaming terminals may bedescribed as a distributed gaming session.

Some embodiments may use any gaming terminal that is network enabledwith a peer-to-peer architecture. FIG. 1 shows a perspective view of atypical gaming terminal 20 that may be used with this peer-to-peerarchitecture. The gaming terminal may have varying structures andmethods of operation. For example, the gaming terminal 20 may be amechanical gaming terminal configured to play mechanical slots, or itmay be an electro mechanical or electrical gaming terminal configured toplay a video casino game such as blackjack, slots, keno, poker, etc.Typical components found in a gaming terminal 20 are described below. Itshould be understood that many other elements exist and may be used inany number of combinations to create a variety of gaming terminal types.

The game itself is displayed to the player on a visual display 26, suchas a video display. The video display may take the form of a cathode raytube (CRT), a high resolution LCD, a plasma display, LED, or any othertype of video display suitable for use in a gaming terminal. The visualdisplay 26 may include a touch screen overlaying the monitor to allowplayers to make game related selections. In the alternative, instead ofa video display, the gaming terminal 20 may have several mechanicalreels to display the game outcome.

A push button panel 22 is also typically offered, in addition to thetouch screen, to provide players an option on how they make their gameselections. A wager acceptor may include a coin slot acceptor 28 or anote acceptor 29 to enter value to the gaming terminal 20.

Many gaming terminals are also equipped with a player tracking cardreader 24. A player may be enrolled in the gaming establishment's playerclub and may be awarded certain complimentary services/offers as thatplayer collects points on his player tracking account. The playerinserts his card into the reader, which allows the casinos computers toregister that player's play at that gaming terminal. The gaming terminal20 may also include a display 27 to be used with the player trackingcard and card reader 24.

Many gaming establishments are implementing systems that are lessdependent on cash. These systems often rely on ticket printers 23 thatare installed on the gaming terminal 20. These ticket printers may beused to print and/or read ticket vouchers, which are encoded with somemonetary value. Typically these systems utilize a barcode and barcodereader to read the ticket voucher, which generally contains the casinoname, ticket voucher validation number, etc.

These various potential components of a gaming terminal are controlledby a central processing unit (CPU) 18 (such as a microprocessor or microcontroller) as shown in FIG. 2. The central processing unit 18 operatesto execute a game program. The CPU 18 may comprise a volatile memory 13(e.g., a random-access memory (RAM)), a non-volatile (or static memory)14 (such as an EEPROM), and an input/output (I/O) circuit 15. It shouldbe appreciated that although only one microprocessor is shown, thecentral processing unit may include multiple microprocessors. Similarly,the memory of the central processing unit may include multiple RAM andmultiple program memories. Although the I/O circuit may be shown as asingle block, it should be appreciated that the I/O circuit may includemany different types of I/O circuits. A SMIB 25 (also known as a slotmachine interface board) is also shown. The SMIB is used as thecommunication interface between the slot machine and servers used in thetypical master-slave communication protocol. However, some embodimentscould just as easily be implemented in a client/server network.

In addition to executing the game program, the CPU also controls and isin communication with each of the peripheral devices comprising thegaming terminal. A variety of peripheral devices may be used in a gamingterminal. Peripheral devices may include a push button panel 22, aplayer tracking card reader 24, a video display 26, etc. Althoughseveral peripheral devices are depicted in FIG. 2, more or fewerperipheral devices may be included in a gaming terminal.

As mentioned above, these gaming terminals are connected in a local areanetwork using a flat, peer-to-peer physical topology as shown in FIG. 3.The network may be an open or public protocol such as TCP/IP(Transmission Control Protocol/Internet Protocol). Other networkcommunication protocols that potentially could be used include ATM,SLIP, PPP, or a layer protocol transmitted onto TCP/IP. The LAN may alsouse any physical communication medium needed (e.g., Ethernet, fiberoptic, wireless Ethernet, etc.). The architecture is scalable and can bedivided into multiple logical tiers.

The peer-to-peer configuration allows gaming terminals to act asservers, providing gaming applications directly to other gamingterminals. In some embodiments, the game application is not served froma single fixed place, as is the case for systems with a central server.Instead, some embodiments allow the game application to be served frompotentially any gaming terminal.

FIG. 3 shows a typical peer-to-peer network using a distributedapplication server 10 a and gaming terminals 20 connected by a TCP/IPEthernet network. The distributed application server 10 a is used toprovide administrative functions required to establish a virtualcommunication network 54 to enable the gaming terminals to act as gamingapplication servers to other gaming terminals in the network. Inessence, the gaming network 52 helps establish the virtual communicationnetwork 54.

Various switches 32 and carousel controllers 30 increase efficiency ofcommunications on the network. A carousel controller 30 may be used tolink a local bank of gaming terminals to increase network efficiency.The carousel controller 30, however, is not necessary to set up someembodiments of the invention. Switches are also available to increasecommunication efficiency. Switches may be used at the carouselcontroller 30 to restrict associated network traffic to the carouselcontroller network segment. Each carousel controller 30 may further beconnected to the distributed application server 10 a. Other servers,such as 10 b, may also be provided on the network to perform specializedgaming functions for the gaming terminals on the network. These gamingfunctions may include accounting, player tracking, progressive gamecontrols, and cashless gaming. These servers are described below.

The progressive computer 10 b of FIG. 3 manages a variety of promotionalbonuses such as multiple jackpots, mystery jackpots, progressivejackpots, or player specific bonuses. The progressive computer also hasWide Area Progressive (WAP) game management data capability that allowsmultiple gaming terminals to contribute to, and compete for, system-widejackpots.

Any number of additional servers may be used in the network, whichoperate transparently to the distributed application server 10 a. Theseservers provide the following gaming functions, and although not shownin FIG. 3, are similarly connected to the network, as are servers 10 aand 10 b.

The slot accounting server monitors the financial transactions occurringon each individual gaming terminal 20 by collecting data such as creditsin, out, played and won, the titles, terminals, denominations, andnumber of games played, the duration and specific times of play. Theamount and types of collected audit data may be varied to suit aparticular casino. The slot accounting server may compile an accountingreport based on the data received from each of the individual gamingterminals, which may be used by management to assess the performance andprofitability of the gaming terminals 20.

The player tracking server tracks individual player usage of the gamingterminals 20. When a player enrolls in a casino's player trackingsystem, often called a “slot club” or a “rewards program,” the casinoissues a player identification card encoded with a player identificationnumber that uniquely identifies the player. The identification card may,for example, be a magnetic card or a smart (chip) card. Each terminal 20is fitted with a card reader (e.g., card reader 24 in FIG. 1) into whichthe player inserts his or her identification card before playing theassociated terminal 20. The card reader reads the player'sidentification number off the card and informs the player trackingcomputer connected thereto of the player's subsequent gaming activity.This allows gaming establishments to target individual players withdirect marketing techniques, comps, and other rewards according to theindividual's usage.

The cashless gaming server manages and validates electronic fundstransactions. For example, the cashless gaming computer may store fundsin monetary accounts at the computer, authorize the transfer of fundsbetween accounts and gaming terminals 20, and associate the accountswith portable instruments such as cards or tickets used by players atthe gaming terminals 20.

The servers 10 described above are all normally found in gamingestablishments and generally function independently to carry out theirspecific gaming functions. These servers operate transparently to theother servers on the network. As noted above, to start distributedgaming sessions, a dedicated distributed application server 10 a may beused, though if needed, any number of gaming functions may beincorporated into a single server, as shown in FIG. 4. The distributedapplication server 10 a, or simply server, controls the administrativefunctions governing the shared use of gaming applications among thegaming terminals using the session manager 40.

The session manager 40 is the mechanism that organizes distributedapplication sessions, also known as shared gaming sessions. These sharedgaming sessions are community games that allow players at individualgaming terminals to share the same game experience. The session manager40 is a software module that typically resides on the distributedapplication server 10 a. The session manager 40 is responsible forinitiating, maintaining, and terminating the distributed applicationsession (gaming session). The session manager 40 responds to thesesignals and performs its function through three primary softwaresub-modules: an authorization and configuration service module 46, asession maintenance module 42, and a membership management module 44.

The eligibility of a gaming terminal to participate in a session isdetermined by the authorization and configuration service module 46.Eligibility is a configuration issue and refers to whether or not aspecific gaming terminal is allowed to participate in a particulardistributed application. Eligibility may depend upon a variety offactors that include (but are not limited to) gaming terminal firmware,the distributed application on the terminal, and physical location. Inaddition, the eligibility of a gaming terminal (or group of gamingterminals) to participate in a particular distributed application maychange over time.

The authorization and configuration service module 46 maintains apersistent data store that defines the eligibility matrix of all gamingterminals and distributed applications under its jurisdiction. Throughthis eligibility matrix the session manager 40 may verify that arequesting participant is eligible to join the specified session. Theauthorization and configuration service module 46 will forward anychanges in the eligibility of participants to the membership managementmodule 44 of the session manager 40.

The membership management module 44 of the session manager 40 isresponsible for creating an association matrix 47 (or simplyassociation) for the gaming terminals that are participating in adistributed application. To perform this function, the membershipmanagement module 44 distinguishes gaming terminals by eligibility andparticipation. To participate, the gaming terminal must first beeligible as determined by the authorization and configuration servicemodule 46. The association matrix 47 contains all of the participatinggaming terminals in a specific distributed application session.Participation refers to the state where an eligible participant hasjoined a particular session and can both send and receive applicationmessages. Active participation may be mandatory (and automatic).Conversely, active participation may be voluntary for some game types.As an example, a player has the option of placing side bets in acommunity-based bonus game, but is not required to do so.

The association matrix 47 created by the membership management module 44is dynamic as players enter and leave the game, either voluntarily orinvoluntarily. During any particular session a player at a gamingterminal can be added to the session, dropped from the session, or canvoluntarily terminate the session. To join the shared gaming session, agaming terminal sends an add signal to the distributed applicationserver 10 a. To be dropped from the shared gaming session, the gamingterminal sends a drop signal to the distributed application server 10 a.Besides voluntary requests to leave the distributed gaming session, themembership management module 44 may receive eligibility notificationsfrom the authorization and configuration service module 46. Thesenotifications are processed by the membership management module 44 tochange the status of the gaming terminal and require player removal fromthe session.

To provide orderly control over changing conditions the session manager40 dynamically updates the association matrix 47 to account for changesin participation. The revised association matrix 47 is communicated tothe distributed application gaming network to modify the virtualcommunication network 54 to reflect changes in participation.

The membership management module 44, in addition to maintainingparticipation status, also enables the distributed application server 10a to establish a virtual communication network 54 to allow the routingand distribution of application messages between gaming terminals thatare active participants in the distributed application. The sessionmanager 40 controls the shared gaming session utilizing sessionmanagement messages that coordinates the virtual communication network54 linking participating gaming terminals, and all other messagingrequirements necessary to manage the distributed application. Thesession manager 40 messages originate from the server and perform allthe necessary communications to implement and terminate the sharedgaming application. In contrast, the application messages originate fromthe participating gaming terminals to support the shared gamingapplication.

Although the peer-to-peer configuration discussed above has manyadvantages, it introduces a level of complexity with gaming applicationsthat require special consideration for such a system to effectivelycontrol communications between gaming terminals. For example, eachgaming session may have a unique set of gaming terminal participants.Some peer-to-peer architectures may require a systematic softwaremethodology with a hardware configuration to ensure that messages arecorrectly broadcast and received by participating gaming terminals. Tohandle such dynamic considerations associated with wagering type games,some embodiments include a virtual communications module 48 tocoordinate communications between gaming terminals.

The session manager 40 enables the virtual communications module 48 toestablish the peer-to-peer communications between the gaming terminalacting as the application server with other participating gamingterminals. The session manager 40 establishes a virtual communicationnetwork 54 using the session structure 45 and its association matrix 47created by the membership management module 44. The distributedapplication session structure 45 contains the distributed applicationsession ID, the distributed application type ID (to identify the game),and the association matrix 47. With the association matrix 47, thedistributed application server 10 a can administer and organize thecommunication flow between the gaming participants, creating a virtualcommunication network 54 for each gaming session.

The association matrix 47 identifies the participating gaming terminalsand determines the virtual communication network 54 that the distributedapplication server establishes. Machine identifiers associated with theparticipating gaming terminals, and any other ancillary devicesrequired, are used to build the association matrix 47. Not allinformation contained in the session structure 45 may be necessary forestablishing the virtual communication network 54. The use of theassociation matrix 47 ensures that the gaming terminals are botheligible and participating in the shared game.

The information contained in the association matrix 47 may varydependent upon the number of simultaneous distributed applicationsallowed at each gaming terminal. If the gaming terminal is limited to asingle distributed application, only a limited data set may be needed.If the gaming terminal is running multiple distributed applicationssimultaneously, however, the additional information from the sessionstructure 45 may need to be imported into the association matrix 47 tomaintain administrative control over the network.

With the association matrix 47, the gaming terminals can use the virtualcommunication network 54 to communicate with other participating gamingterminals. Through this virtual communication network 54, applicationmanagement messages may be sent between participating gaming terminalsto allow game sharing. The virtual communication network 54 issufficiently flexible to allow senders to tag application messages toshow the type of delivery, including delivery to all sessionparticipants, to a specific participant, to the host, etc.

There are at least two possible implementation embodiments through whichthe association matrix 47 and the virtual communication network 54 canfunction. The two embodiments are the proxy and broker model, and may bedistinguished by their location and the ownership of the virtualcommunication network 54. In the broker model as shown in FIG. 4, thesession manager 40 creates a virtual communication network 54 directlybetween the gaming terminals. As a result, the session structure 45 iscreated in the distributed application server 10 a. The associationmatrix 47 is subsequently transferred to at least the server gamingterminal. These games only require communication between a server gamingterminal and a selected client terminal. Several client gaming terminalsmay participate in this shared game application, but communicationchannels may only be created between the server gaming terminal and aparticipating client gaming terminal.

In more complicated games, it may be necessary to establish acommunication channel between two client terminals participating in ashared gaming application. In this case, the association matrix 47 mayneed to be downloaded to all the participating gaming terminals 20 b, 20c involved in the shared application. The gaming terminals within theassociation matrix 47 may communicate directly to each other through thevirtual communication network 54 defined by the association matrix 47.

The association matrix 47 may, in some cases, be downloaded and storedin each of the gaming terminals before it is called upon to establish avirtual communication network 54. However, in most cases, theassociation matrix 47 will be downloaded only after a triggering eventoccurs that results in a request for a shared gaming session. In eithercase, the association matrix 47 may also be downloaded to ancillaryequipment that may be necessary to efficiently establish the virtualcommunication network 54. These ancillary devices include switches,routers, and other similar types of network equipment.

The advantage of the broker model system is reduced network trafficbecause of the direct communication, and reduced latency once thevirtual communication network 54 is established. The reduced latencydecreases system response time and is particularly useful for thosegames requiring communication of time sensitive information.

One disadvantage of the broker model is the complexity introduced by theneed to replicate and synchronize the association matrix 47 for eachparticipating gaming terminal. This is particularly burdensome as gamingterminals enter and leave an existing gaming session. The need to updateand distribute association matrices increases the time to set up andterminate associations. This time lag introduces the possibility ofgaming application errors as gaming terminals are added or dropped fromthe session.

In contrast to the embodiment described above, in the proxy model shownin FIG. 5, the association matrix 47 resides on a carousel controller30. This is known as the proxy model as depicted in FIG. 5. In the proxymodel, the association matrix 47 is downloaded from the distributedapplication server 10 a to the carousel controller 30. The carouselcontroller 30 then separately routes application messages to eachindividual gaming terminal using either a master-slave protocol, or astandard client/server protocol. Although this communication system isless complex than the broker model, it is more limited with respect tocommunications speed, at least in a master-slave communication protocol.

The communication methodology described above allows some embodimentsestablish peer-to-peer communications between gaming terminals andallows gaming applications to be shared among designated gamingterminals. The distributed application begins when a gaming terminalinitiates the distributed application session. As part of the gamingterminal's individual game programming, certain triggering events mayoccur during game play to cause the gaming terminal to become configuredas a server. The triggering gaming terminal notifies the distributedapplication server 10 a and requests a game session.

The distributed application session manager 40, residing on thedistributed application server 10 a, through the session maintenancemodule 42, controls the start up and termination of the session. Thegaming session is initiated with a session initiation signal from one ofthe gaming terminals in the network. Similar to the proxy modeldiscussed above, a session structure 45 and an association matrix 47 foreach gaming session is created.

The gaming session association matrix 47 identifies the server gamingterminal 20 b acting as a temporary server for the distributedapplication and the client gaming terminals 20 c participating in thedistributed application.

All the above information including the association matrix 47, theapplication profile, the session ID, etc., is used by the distributedapplication server 10 a to create a session structure 45 for eachdistributed application requested by a gaming terminal. The sessionstructure 45 is used by the session manager 40 to create the associationmatrix 47 necessary to allow the establishment of a virtualcommunication network 54 between participating gaming terminals.

Before the association matrix 47 can be determined, however, each of theplayers at each of the eligible gaming terminals must respond to aninvitation sent by the distributed application server 10 a to join theshared gaming application. Players may either accept or rejectparticipation in the gaming session. For those gaming terminals thataccept participation in the gaming session a join request is set to thedistributed application server 10 a. The join requests are sent to theauthorization and configuration service module 46 for validation of therequester's eligibility to join the session. The session maintenancemodule 42 then either accepts or refuses the request.

Once the gaming terminals reply to the invitation, either accepting orrejecting the invitation, the session manager 40, in turn, facilitatesthe connection of the gaming terminal acting as server to thoseindividual gaming terminals that have accepted the invitation (i.e.,client gaming terminals). The distributed application server 10 aassociates all participating gaming terminals with the gaming session IDand establishes an association matrix 47 to create a virtualcommunications channel for the participating gaming terminals. Thedistributed application server performs this function by providing allnecessary information such as machine addresses to the gaming terminalsinvolved in the community base game through the association matrix 47(or in the case of the proxy model, supplying the association matrix 47to the carousel controller 30). With this information provided by thedistributed application server 10 a, each enrolled gaming terminal cancommunicate with the gaming terminal acting as server. The triggeringgaming terminal (i.e., the server gaming terminal 20 b), serves thegaming application to all of the active participating gaming terminals(i.e., client gaming terminals 20 c). During this process, applicationmessages are exchanged between the client gaming terminals and theserving gaming terminal to accomplish game play. The server gamingterminal establishes a session log that records all exchangedapplication messages and any session manager messages exchanged betweenthe distributed gaming server and the server gaming terminal regardingthe session.

Once the distributed application has reached its final game outcome, thegaming session is terminated with a session termination signal from thegaming terminal serving the gaming application. The session terminationsignal is sent to the session maintenance module 42 on the distributedapplication server 10 a. The session maintenance module 42 terminatesthe distributed application, and returns the gaming terminals to theirnormal operating mode. In addition to the termination notification, theserver gaming terminal also uploads a session log to the session manager40. The session manager 40 uses a session log as part of the terminationprocedure to account for winnings and losses between gaming terminals.The players at these gaming terminals will have their accounts debitedand credited accordingly.

A single distributed application server 10 a may be used to controlseveral or multiple distributed gaming sessions. For example, severaldifferent progressive games and several different community-based bonusgames could be in simultaneous operation. Multiple types of distributedapplications may be available to a single gaming terminal. Some of thesegames may be restricted to a single carousel controller 30 and othersmay operate over an entire casino or wide area.

Any particular gaming terminal (or group of gaming terminals) mayparticipate in an overlapping set of distributed applications. Forexample some gaming terminals might only be participating in a localprogressive, while other gaming terminals are participating in both aprogressive and a community-based bonus game. Each of these distributedapplication sessions has a unique distributed application session ID.This session ID allows the site controller to individually monitor andcontrol gaming terminals grouped in a distributed application session.

The above and described peer-to-peer gaming network and its associatedsession manager 40 enables new and more exciting gaming opportunitiesthrough shared gaming experience. The examples that follow demonstratethe diversity of games that can be implemented on some embodiments ofthe invention. These games run the gamut of competitive, collaborative,and any other shared gaming experience.

For example some embodiments of the invention allow a player to place aside bet on another player's game outcomes. In this situation, anoutcome may be triggered on a game that allows all eligible players(e.g., players linked to a specific carousel controller 30) toparticipate in the outcome of a bonus game. The player who hits thebonus round is called the initiator and is the only one who directlyparticipates in the bonus game play. The other players on the carouselare notified that a bonus game has been triggered and allowed to makeside bet wagers. Participation in this bonus game may be voluntary. Thebonus round may be displayed on eligible gaming terminals (e.g., thosegaming terminals on the same carousel) so they can observe the outcome.Once the bets are placed, the triggering gaming terminal is allowed tocomplete play of the bonus game. The triggering player is rewarded basedon the bonus game outcome. All other participating players who havesuccessfully wagered on the outcome of the triggering terminal are alsothen rewarded. This game may be viewed as individual side bet games witha shared determination of the outcome.

More sophisticated side betting games can also be created. For example,the triggering player may be awarded a percentage of the total wagersmade by the participating players. This increases the desirability forplaying the game with the hope that a player might become a host for thebonus game and the eligible for further awards.

Direct competition with other players is another variation of sharedgaming that some embodiments allow to be implemented. One embodiment fordirect competition uses a base game with a bonus game in a gamingterminal. A player wagers on the base game to become eligible for playin the bonus game. The base game is an individual game and not acommunity-based game. The base game, however, may fund the bonus poolfor the bonus game. The bonus game is a community-based game in whichplayers may compete head-to-head for the bonus pool jackpot. The bonusgame may be entirely random or have some elements of skill involved.

Alternately, another direct competition embodiment may involve only abase game that is served to all eligible participating gaming terminals.Certain enhancements can be made to the gaming as described above wherethe player who controls the serving gaming terminal is allowed tocollect a higher percentage of winnings or a percentage of the totalwagers made in the game.

Another gaming method that may use distributed applications with someembodiments is collaborative team play. For example, players may chooseto form teams to increase their probability of achieving a winningoutcome by one team member. Any winning outcome achieved by the team issplit evenly among the team members participating at the time of thewinning outcome. For example, players in a bank of progressive gamingterminals may decide to team rather than playing individually for theprogressive jackpot, splitting any winnings equally among the teammembers. Players could selectively opt in or opt out of the team.Alternately, players could make side bets on other players while playingtheir own individual progressive game. The side bet would allow a playerto also win an award if another player hit the jackpot.

Yet another gaming method that can be used in some embodiments involvesusing two servers to provide progressive type games. In progressive typegames a portion of each wager is assigned to a bonus pool. Severalgaming terminals may contribute to this bonus pool. A single player maywin the entire bonus pool with the winning game outcome. A progressiveserver is typically linked to each of the gaming terminals participatingin the progressive game. This progressive server typically handles theaccounting functions of the progressive game and verifies jackpotwinning gaming terminals. To further enhance this standard progressivetype game, some embodiments can be used to provide additional enrichmentto the game play. For example, it is possible to offer players thepotential to collaborate as teams, pooling their combined wagers to winthe progressive. Alternately, players at gaming terminals with certainoutcomes may trigger a bonus event that allows players to place sidebets on another player's game outcome.

Still another embodiment offered by some embodiments of the inventionallows two players to share the same game. In certain situations, twoplayers may wish to confer and come to a consensus on how to play asingle game. In these situations, rather then having the players crowd asingle gaming terminal, some embodiments allow the same game to bepresented on the visual display of an adjacent gaming terminal. Eitherplayer may then wager or select optional gaming parameters.

The above games demonstrate the remarkable diversity of some embodimentsof the invention with its unique peer-to-peer gaming network inassociation with its session manager 40 implemented on a network server.

1. A method performed by a gaming terminal, the method comprising:receiving, from a server, an indication that a plurality of gamingterminals will participate in a shared gaming session, wherein theserver is not configured to operate as a gaming terminal, and whereinthe server is configured to establish a virtual communication network toenable the plurality of gaming terminals to participate in the sharedgaming session; serving the shared gaming session to the plurality ofgaming terminals; and determining an outcome of the shared gamingsession, wherein the server is not configured to determine an outcome ofthe shared gaming session.
 2. The method of claim 1 further comprising:transmitting a session initiation signal to initiate the shared gamingsession.
 3. The method of claim 1, wherein before the receiving of theindication, the server has determined whether each of the plurality ofgaming terminals is eligible to participate in the shared gamingsession.
 4. The method of claim 1 further comprising: receiving anindication that one of the plurality of gaming terminals is servinganother shared gaming session; and transmitting an add signal to theserver, the add signal associated with the other shared gaming session;and participating in the other shared gaming session.
 5. The method ofclaim 1, wherein the shared gaming session is triggered based on eventsselected from the group consisting of input from players of theplurality of gaming terminals, a player entering a bonus round on one ofthe plurality of gaming terminals, and players from the plurality ofgaming terminals forming a team.
 6. The method of claim 1, wherein aplurality of players are associated with the plurality of gamingterminals, and wherein the shared gaming session enables at least one ofthe plurality of players to wager on a shared gaming session outcomeassociated with another of the plurality of players.
 7. The method ofclaim 1, wherein a plurality of players are associated with theplurality of gaming terminals, and wherein the shared gaming sessionenables some of the players to compete or collaborate with others of theplayers, and wherein selections made by the players determine an outcomeof the shared gaming session.
 8. The method of claim 1, wherein duringthe shared gaming session, shared gaming session data is transmittedbetween ones of the plurality of gaming terminals via the virtualcommunication network.
 9. The method of claim 1, wherein one of theplurality of gaming terminals presents an option to participate in theshared gaming session or to play an non-shared game offered at the oneof the plurality of gaming terminals.
 10. A machine-readable mediumincluding instructions to be executed by a gaming terminal, theinstructions comprising: instructions to receive, from a server, anindication that a plurality of gaming terminals will participate in ashared gaming session, wherein the server is not configured to operateas a gaming terminal, and wherein the server is configured to establisha virtual communication network to enable the plurality of gamingterminals to participate in the shared gaming session; instructions toserve the shared gaming session to the plurality of gaming terminals;and instructions to determine an outcome of the shared gaming session,wherein the server is not configured to determine an outcome of theshared gaming session.
 11. The machine-readable medium of claim 10, theinstructions further comprising: instructions to transmit a sessioninitiation signal to initiate the shared gaming session.
 12. Themachine-readable medium of claim 10, wherein before the receipt of theindication, the server to have determined whether each of the pluralityof gaming terminals is eligible to participate in the shared gamingsession.
 13. The machine-readable medium of claim 10, the instructionsfurther comprising: instructions to receive an indication that one ofthe plurality of gaming terminals is serving another shared gamingsession; instructions to transmit an add signal to the server, the addsignal associated with the other shared gaming session; and instructionsto participate in the other shared gaming session.
 14. A gaming terminalcomprising: a first gaming network interface communicatively coupled toa server, wherein the server is not configured to operate as a gamingterminal, the first gaming network interface configured to receive anassociation matrix from the server, the association matrix to indicate aplurality of gaming terminals to participate in a shared gaming session,the first gaming network interface further configured to receive updatesto the association matrix from the server, wherein the updates reflectchanges to the plurality of gaming terminals, the first gaming networkinterface further configured to request initiation of the shared gamingsession; a second gaming network interface communicatively coupled tothe plurality of gaming terminals, the second network interfaceconfigured to exchange application messages with the plurality of gamingterminals, the application messages associated with the shared gamingsession; and a CPU configured to store the association matrix and todetermine an outcome of the shared gaming session, wherein the server isnot configured to determine an outcome of the shared gaming session. 15.The gaming terminal of claim 14, the first gaming network interfacefurther configured to, after the determination of the outcome of theshared gaming session, transmit to the server a session log associatedwith the shared gaming session.
 16. The gaming terminal of claim 14, thefirst gaming network interface further configured to, after thedetermination of the outcome of the shared gaming session, transmit tothe server a session termination signal associated with the sharedgaming session.
 17. The gaming terminal of claim 14, wherein the serveris configured to debit or credit, based on the outcome of the sharedgaming session, accounts associated with players at the plurality ofgaming terminals.
 18. The gaming terminal of claim 14, wherein theapplication messages include information selected from the groupconsisting of direct wagers, side wagers, competitive play information,and collaborative play information.
 19. The gaming terminal of claim 14,wherein the gaming terminal and the plurality of gaming terminals aremembers of a peer-to-peer network.